# -*- coding: utf-8 -*-
"""
主程序：菜单循环、用户交互、调用各模块功能
周文灿负责A部分
"""
import os
from storage_manager import load_templates, load_my_ecards, save_my_ecard, view_my_saved_ecards_interaction
from template_manager import select_template_interaction
from ecard_generator import fill_template_content_interaction, preview_and_generate_ecard_interaction

# 全局变量
selected_template = None
user_filled_values = None

def display_main_menu():
    """显示主菜单"""
    print("\n" + "=" * 30)
    print("DIY电子贺卡制作与分享")
    print("=" * 30)
    print("1. 选择贺卡模板")
    print("2. 填写贺卡内容")
    print("3. 预览并生成贺卡文本")
    print("4. 管理我的贺卡(查看已保存)")
    print("5. 退出程序")
    print("=" * 30)

def main_loop():
    """主循环"""
    global selected_template, user_filled_values
    
    # 初始化数据目录
    if not os.path.exists("data"):
        os.makedirs("data")
    
    # 加载模板
    templates = load_templates()
    my_ecards = load_my_ecards() if os.path.exists("data/my_ecards.json") else []
    
    while True:
        display_main_menu()
        choice = input("请输入您的选择(1-5): ").strip()
        
        if choice == "1":
            selected_template = select_template_interaction(templates)
            user_filled_values = None  # 重置填写的内容
            
        elif choice == "2":
            if not selected_template:
                print("请先选择贺卡模板！")
                continue
            user_filled_values = fill_template_content_interaction(selected_template)
            
        elif choice == "3":
            if not selected_template:
                print("请先选择贺卡模板！")
                continue
            if not user_filled_values:
                print("请先填写贺卡内容！")
                continue
                
            generated_text = preview_and_generate_ecard_interaction(
                selected_template, user_filled_values
            )
            
            # 探索功能：询问是否保存
            save_choice = input("是否将此贺卡保存到'我的贺卡'中？(y/n): ").lower()
            if save_choice == 'y':
                save_my_ecard({
                    'template_used': selected_template['template_id'],
                    'generated_text': generated_text
                })
                
        elif choice == "4":
            view_my_saved_ecards_interaction()
            
        elif choice == "5":
            print("感谢使用DIY电子贺卡制作工具，再见！")
            break
            
        else:
            print("无效的选择，请输入1-5之间的数字！")

if __name__ == "__main__":
    main_loop()